package com.laotou99.wmsjjj.wmsjjj.service;

import java.util.Date;
import java.util.List;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.laotou99.wmsjjj.wmsjjj.bean.po.SKUPO;
import com.laotou99.wmsjjj.wmsjjj.bean.vo.SKUVO;
import com.laotou99.wmsjjj.wmsjjj.repository.SKUPORepository;

@Service
public class SKUService {
	
	@Autowired
	SKUPORepository skupoRepository;

	public boolean saveSKU(SKUVO skuvo) {
		if(checkSKUID1(skuvo)) {
			return true;
		}
		SKUPO po1 = new SKUPO();
		BeanUtils.copyProperties(skuvo, po1);
		po1.setCreateDate(new Date());
		
		SKUPO skupo2 = skupoRepository.save(po1);
		System.out.println("skupo2-=>"+
				JSON.toJSONString(skupo2));		 
		return false;
	}

	public boolean updateSKU(SKUVO skuvo) {
		if(checkSKUID2(skuvo)){
			return true;
		}
		SKUPO skupo1 = new SKUPO();
		BeanUtils.copyProperties(skuvo, skupo1);
		SKUPO skupo2 = skupoRepository.save(skupo1);
		System.out.println("skupo2-=>"
			+JSON.toJSONString(skupo2));
		return false;
	}

	private boolean checkSKUID2(SKUVO skuvo) {
		if(skuvo.getId()==0) {
			return true;
		}
		if(skuvo.getStorekey()==null || 
			skuvo.getStorekey().equals("")) 
		{
			return true;
		}
		String skuId1 = skuvo.getSkuId();
		SKUPO skupo1 = skupoRepository.findBySkuId(skuId1);
		if(skupo1==null){
			System.out.println("skupo1-=>"
				+JSON.toJSONString(skupo1));
			return true;
		} 
		return false;
	}

	private boolean checkSKUID1(SKUVO skuvo) { 
		
		if(skuvo.getStorekey()==null || 
			skuvo.getStorekey().equals("")) 
		{
			return true;
		}
		String skuId1 = skuvo.getSkuId();
		SKUPO skupo1 = skupoRepository.findBySkuId(skuId1);
		if(skupo1==null) {}else{
			System.out.println("skupo1-=>"
				+JSON.toJSONString(skupo1));
			return true;
		} 
		return false;
	}

	public String getSKUList() {
		List<SKUPO> listSKUPos = skupoRepository.findAll();
		return JSONObject.toJSONString(listSKUPos);
	}

	public void test1() {
		
	}
	
}
